// 新增
// $(document).ready(function() {
//     $("#submitAddUser").click(function() {
//         // 创建 FormData 对象，收集表单数据
//         var formData = new FormData($("#addUserForm")[0]);
//
//         // 发送 AJAX 请求到 AddUserServlet
//         $.ajax({
//             url: 'AddUserServlet',  // 后台处理的 Servlet
//             type: 'POST',
//             data: formData,
//             processData: false,  // 不处理数据
//             contentType: false,  // 不设置 Content-Type
//             // beforeSend: function(xhr) {
//             //     // 显式指定请求的编码，防止添加中文名时乱码
//             //     xhr.setRequestHeader("Content-Type", "multipart/form-data; charset=UTF-8");
//             // },
//             success: function(response) {
//                 if(response.success) {
//                     // 显示成功提示框
//                     $("#alertMessage").show();
//                     // 隐藏模态框
//                     $('#addUserModal').modal('hide');
//                     location.reload();  // 简单起见，直接刷新页面
//                 } else {
//                     // 显示失败提示框
//                     $("#errorMessage").show();
//                 }
//             },
//             error: function() {
//                 // 显示失败提示框
//                 $("#errorMessage").show();
//             }
//         });
//     });
// });
// 初始界面
function initializeUserList() {
    var context = getContextPath();
    var startIndex = 0;  // 默认用户列表起始查询页码
    var targetTotal = 3;  // 默认用户列表页码条数
    $.ajax({
        url: context + "/admin/userListServlet" + "?startIndex=" + startIndex + "&targetTotal=" + targetTotal,
        method: "GET",
        error: function () {
            alert("请求失败，请重试！")
        }
    });
}

// 填充编辑模态框

$(document).ready(function () {
    var context = getContextPath();
    // 点击“修改”按钮事件
    $(".edit-btn").click(function () {
        var userId = $(this).data("id");

        // Ajax 请求获取用户信息
        $.ajax({
            url: context + "/admin/getUserByIdServlet?userId=" + userId,
            method: "GET",
            success: function (response) {
                if (response.code === 1) {
                    var user = response.data;
                    // 填充模态框内容
                    $("#userId").val(user.userId);
                    $("#username").val(user.username);
                    $("#fullName").val(user.fullName);
                    $("#password").val(user.password);
                    // $("#profilePicture").val(user.profilePicture);
                    $("#email").val(user.email);
                    if (user.status === '1') {
                        $('#status').val('active');
                    } else if (user.status === '2') {
                        $('#status').val('inactive');
                    }
                    $('#editUserModal').modal('show');
                }else {
                    alert("fail" + (response.message || "fail"));
                }
                // 打开模态框

            },
            error: function () {
                alert("请求失败，请重试！");
            }
        });
    });

    // 提交修改表单
    $('#editUserForm').submit(function (event) {
        event.preventDefault();
        var context = getContextPath();
        // 获取前端表单数据
        var statusValue = $('#status').val();

        // 映射前端的值到后端需要的值
        var statusMapped = (statusValue === "active") ? "1" : "2";

        var userData = {
            userId: $('#userId').val(),
            username: $('#username').val(),
            fullName: $('#fullName').val(),
            email: $('#email').val(),
            password: $('#password').val(),
            // profilePicture: $('#profilePicture').val(),
            status: statusMapped,  // 使用映射后的值
        };

        // 使用 Ajax 提交修改请求
        $.ajax({
            url: context + "/admin/editUserServlet",  // 需要创建该 Servlet
            method: "POST",
            // 告诉后端以JSON格式发送数据
            data: JSON.stringify(userData),
            success: function (response) {
                if (response.code === 1) {
                    // 更新成功
                    $('#editUserMsg').text('修改成功！').show();
                    $('#editUserModal').modal('hide');
                    // 调用initializeUserList刷新列表
                    initializeUserList();
                }
            },
            error: function () {
                $('#editUserMsg').text('请求失败，请重试！').show();
            }
        });
    });

});

// 删除
$(".delete-btn").click(function () {
    var userId = $(this).data("id");
    var context = getContextPath();
    if (confirm("确定要删除该用户吗？")) {
        $.ajax({
            url: context + "/admin/deleteUserServlet?userId=" + userId,
            method: "Get",
            success: function (response) {
                if (response.code == 1) {
                    // 如何刷新userMng.jsp
                    initializeUserList();
                } else {
                    alert("删除失败：" + response.message);
                }
            },
            error: function () {
                alert("error");
            }
        });
    }
});
// 查询
$(document).ready(function () {
    // 绑定查询按钮的点击事件
    $("#searchButton").on("click", function (event) {
        event.preventDefault(); // 阻止表单默认提交

        // 获取搜索栏输入的昵称和用户状态
        var loginName = $("#loginName").val();  // 注意这里使用了修正后的id
        var userStatus = $("#userStatus").val();
        var context = getContextPath();

        // 使用 Ajax 向后端发送请求
        $.ajax({
            url: context + "/admin/searchUsersServlet",  // 后端 Servlet 地址
            method: "GET",
            data: {
                loginName: loginName,
                userStatus: userStatus
            },
            dataType: 'json',
            contentType: 'application/json; charset=UTF-8',
            success: function (response) {
                if (response.code === 1 && response.data) {
                    console.log("乱码");
                    // 清空表格内容
                    $("tbody").empty();

                    var userList = response.data || [];

                    // 如果后端返回的用户列表为空，显示提示信息
                    if (userList.length === 0) {
                        $("tbody").append("<tr><td colspan='6'>empty</td></tr>");
                    } else {
                        // 否则，动态生成新的用户列表
                        $.each(userList, function (index, user) {
                            var statusText = user.status === '1' ? '普通用户' : '管理员';
                            var statusClass = user.status === '1' ? 'btn-success' : 'btn-secondary';

                            var rowHtml = "<tr>" +
                                "<td>" + user.userId + "</td>" +
                                "<td>" + user.username + "</td>" +
                                "<td>" + user.fullName + "</td>" +
                                "<td>" + user.email + "</td>" +
                                "<td><button class='btn " + statusClass + " btn-sm'>" + statusText + "</button></td>" +
                                "<td>" +
                                "<div class='btn-group'>" +
                                "<button class='btn btn-sm btn-warning edit-btn' data-id='" + user.userId + "'>修改</button>" +
                                "<button class='btn btn-sm btn-danger delete-btn' data-id='" + user.userId + "'>删除</button>" +
                                "</div>" +
                                "</td>" +
                                "</tr>";

                            $("tbody").append(rowHtml);
                        });
                    }
                } else {
                    alert("查询失败：" + (response.message || "未知错误"));
                }
            },
            error: function (xhr, status, error) {
                alert("查询失败，请稍后再试！" + (xhr.responseText || error));
            }
        });
    });
});



